DROP procedure IF EXISTS `GrabarDatos_Maestros`;

DELIMITER $$
CREATE  PROCEDURE `GrabarDatos_Maestros`(in scdatmaestro numeric,
				in codatmaestro varchar(50),
				in dsdatmaestro varchar(150),
				in dsvalor  varchar(50),
               in scmaestro numeric,
			   in cousuario  varchar(50),
			   in scempresa numeric,
			   out mensaje varchar(100),
			   out codigomensaje varchar(2))
BEGIN
IF(scdatmaestro=0 OR scdatmaestro IS NULL) THEN

		insert into Smart_datos_maestros(sm_codatmaestro,
									sm_dsdatmaestro,sm_dsvalor,
									sm_scmaestro,sm_fhmodificacion,
									sm_fhingreso,sm_fhretiro,
									sm_cousuario) 
		values( codatmaestro,
		  dsdatmaestro,
		  dsvalor,
		  scmaestro,now(),now(),null,
		  cousuario);
          
        set mensaje="Datos_maestros grabada con exito";
        set codigomensaje="01";
	end if;
    IF(scdatmaestro>0) THEN
		UPDATE Smart_datos_maestros
		SET
		sm_dsdatmaestro = dsdatmaestro,
		sm_dsvalor = dsvalor,
		sm_scmaestro = scmaestro,
		sm_fhmodificacion = NOW(),
		sm_cousuario =cousuario
		WHERE sm_scdatmaestro = scdatmaestro;
		
        set mensaje="Datos_maestros actualizado con exito";
        set codigomensaje="02";
	end if;
END$$

DELIMITER ;